<?php
class Back_Model_Saisons extends Jnd_Model_Abstract
{
    protected $id = 0;
    protected $nom = "";
    protected $ouverte = 1;
    protected $dateDebut = "";
    protected $dateFin = "";
    protected $parDefaut = false;

    /**
     *
     * @see Jnd_Model_Abstract::getId()
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     *
     * @see Jnd_Model_Abstract::setId()
     */
    public function setId( $id )
    {
        $this->id = $id;
    }

    /**
     *
     * @see Jnd_Model_Abstract::sauver()
     */
    public function sauver()
    {
        if ($this->getParDefaut()) {
            $defaut = self::recuperationSaisonDefaut();
            if ( $defaut->getId() != $this->getId() ) {
                $defaut->setParDefaut(0);
                $defaut->sauver();
                $this->setParDefaut(true);
            }
        }
        return parent::sauver();
    }

    public static function saisons()
    {
        $saisons = array();
        $mapper = new Back_Model_Mapper_Saisons();
        $results = $mapper->saisons();
        
        foreach ($results as $data) {
            $saisons[] = new self($data['id']);
        }
        return $saisons;
    }

    /**
     * Fonction permettant de récupérer la saison par défaut
     * 
     * @return Back_Model_Saisons
     */
    public static function recuperationSaisonDefaut()
    {
        $mapper = new Back_Model_Mapper_Saisons();
        $datas = $mapper->recuperationSaisonDefaut();
        
        $model = new self($datas['id']);
        return $model;
    }
}
